package socofwebget;

import java.io.Serializable;
import java.util.Date;

public class Ficheiro implements Serializable {

    private static final long serialVersionUID = 1L;
    private Integer id;
    private String dominio;
    private String ficheiro;
    private String estado;
    private long tamanhosite;
    private String caminhosite;
    private String caminholocal;
    private String tipo;
    private Integer niveis;
    private Date actualizado;
    //**********************************************************
    public String DB_STATE_PENDING = "PENDING";
    public String DB_STATE_DOWNLOAD = "DOWNLOAD";
    public String DB_STATE_DOWNLOADING = "DOWNLOADING";
    public String DB_STATE_PARSE = "PARSE";
    public String DB_STATE_PARSING = "PARSING";
    public String DB_STATE_COMPLETE = "COMPLETE";
    //**********************************************************

    public Ficheiro() {
        this.id = null;
        this.dominio = null;
        this.ficheiro = null;
        this.estado = null;
        this.tamanhosite = 0;
        this.caminhosite = null;
        this.caminholocal = null;
        this.tipo = null;
        this.niveis = null;
        this.actualizado = null;
    }

    public Ficheiro(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getDominio() {
        return dominio;
    }

    public void setDominio(String dominio) {
        this.dominio = dominio.toLowerCase();
    }

    public String getFicheiro() {
        return ficheiro;
    }

    public void setFicheiro(String ficheiro) {
        this.ficheiro = ficheiro;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado.toUpperCase();
    }

    public long getTamanhosite() {
        return tamanhosite;
    }

    public void setTamanhosite(long tamanhosite) {
        this.tamanhosite = tamanhosite;
    }

    public String getCaminhosite() {
        return caminhosite;
    }

    public void setCaminhosite(String caminhosite) {
        this.caminhosite = caminhosite;
    }

    public String getCaminholocal() {
        return caminholocal;
    }

    public void setCaminholocal(String caminholocal) {
        this.caminholocal = caminholocal;
    }

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo.toUpperCase();
    }

    public Integer getNiveis() {
        return niveis;
    }

    public void setNiveis(Integer niveis) {
        this.niveis = niveis;
    }

    public Date getActualizado() {
        return actualizado;
    }

    public void setActualizado(Date actualizado) {
        this.actualizado = actualizado;
    }

    public Ficheiro(Integer id, String dominio, String ficheiro, String estado,
            long tamanhosite, String caminhosite, String caminholocal,
            String tipo, Integer niveis, Date actualizado) {
        this.id = id;
        this.dominio = dominio.toLowerCase();
        this.ficheiro = ficheiro;
        this.estado = estado.toUpperCase();
        this.tamanhosite = tamanhosite;
        this.caminhosite = caminhosite;
        this.caminholocal = caminholocal;
        this.tipo = tipo.toUpperCase();
        this.niveis = niveis;
        this.actualizado = actualizado;
    }

    public void setFicheirosAtributes(Integer id, String dominio, String ficheiro, String estado,
            long tamanhosite, String caminhosite, String caminholocal,
            String tipo, Integer niveis, Date actualizado) {
        this.id = id;
        this.dominio = dominio.toLowerCase();
        this.ficheiro = ficheiro;
        this.estado = estado.toUpperCase();
        this.tamanhosite = tamanhosite;
        this.caminhosite = caminhosite;
        this.caminholocal = caminholocal;
        this.tipo = tipo.toUpperCase();
        this.niveis = niveis;
        this.actualizado = actualizado;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Ficheiro)) {
            return false;
        }
        Ficheiro other = (Ficheiro) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        //return "socofwebget.Ficheiro[ id=" + id + " ]";
        return id + "," + dominio + "," + ficheiro + "," + estado
                + "," + tamanhosite + "," + caminhosite
                + "," + caminholocal + "," + tipo + ","
                + niveis + "," + actualizado;
    }
}
